import { Props } from "./core/type"
import lang from "./lang/index.json"

export const editTableVue3Props = () => {
  return {
    rowKey: {
      type: String,
      default: "id",
    },
    defaultRowData: {
      type: Function,
      default: undefined,
    },
    showRowIndex: {
      type: Boolean,
      default: false,
    },
    showRowDrag: {
      type: Boolean,
      default: false,
    },
    showColDrag: {
      type: Boolean,
      default: false,
    },
    rowSelection: {
      type: Object,
      default: undefined,
    },
    keepLastRowEmpty: {
      type: Boolean,
      default: false,
    },
    stickyIndex: {
      type: Boolean,
      default: false,
    },
    stickyHead: {
      type: Boolean,
      default: false,
    },
    menus: {
      type: Array,
      default: undefined,
    },
    tableWarpStyle: {
      type: Object,
      default: undefined,
    },
    resizeCol: {
      type: Boolean,
      default: false,
    },
    readonly: {
      type: [Boolean, Array],
      default: false,
    },
    disabled: {
      type: [Boolean, Array],
      default: false,
    },
    openVirtualScroll: {
      type: [Boolean, Object],
      default: false,
    },
    relateRowChosed: {
      type: Boolean,
      default: false,
    },
    customRow: {
      type: Function,
      default: undefined,
    },
    customEditer: {
      type: Object,
      default: undefined,
    },
    wrapMenusClassName: {
      type: String,
      default: undefined,
    },
    border: {
      type: Boolean,
      default: true,
    },
    selectedStyleBorderWidth: {
      type: String,
      default: '1px',
    },
    selectedStyleBorderColor: {
      type: String,
      default: 'rgba(0, 127, 255, 0.5)',
    },
    selectedBgcolor: {
      type: String,
      default: '#deeeff',
    },
    hoverRowBgcolor: {
      type: String,
      default: '#f5f5f5',
    },
    messageConfig: {
      type: Object,
      default: () => lang
    },
    openUndo: {
      type: Boolean,
      default: true,
    },
    checkNoRepaeatRowKey: {
      type: Boolean,
      default: false,
    },
  };
};
